﻿using System;
using Com.Binaria.Core.Util;
using Com.Binaria.Core.Dto;

namespace Com.Binaria.SISCOB.DTO
{

    /// <summary>
    ///	Clase representativa de la tabla Cartola
    /// </summary>
    [Serializable]
    public class CartolaDTO : PaginadoDTO, ICloneable
    {
        #region propiedades publicas
		private System.Int32? _id;
		private System.Int32? _idCuentaCorriente;
		private CuentaCorrienteDTO _cuentaCorriente;
		private System.Int32? _folio;
		private System.DateTime? _fchEmision;
		private System.DateTime? _fchDesde;
		private System.DateTime? _fchHasta;
		private System.String _usuario;
        #endregion

        #region metodos set y get propiedades publicas

        public System.Int32? Id
        {
           get { return _id; }
           set { _id = value; }
        }

        public System.Int32? IdCuentaCorriente
        {
           get { return _idCuentaCorriente; }
           set { _idCuentaCorriente = value; }
        }
				
        public CuentaCorrienteDTO CuentaCorriente
        {
           get { return _cuentaCorriente; }
           set { _cuentaCorriente = value; }
        }

        public System.Int32? Folio
        {
           get { return _folio; }
           set { _folio = value; }
        }

        public System.DateTime? FchEmision
        {
           get { return _fchEmision; }
           set { _fchEmision = value; }
        }

        public System.DateTime? FchDesde
        {
           get { return _fchDesde; }
           set { _fchDesde = value; }
        }

        public System.DateTime? FchHasta
        {
           get { return _fchHasta; }
           set { _fchHasta = value; }
        }

        public System.String Usuario
        {
           get { return _usuario; }
           set { _usuario = value; }
        }
        #endregion

        #region constructores
        /// <summary>
        /// constructor por defecto del objeto
        /// </summary>
        public CartolaDTO() { }
        #endregion

        #region ICloneable Members
        object ICloneable.Clone()
        {
            return this.Clone();
        }
        
        /// <summary>
        /// Metodo que permite crear una copia de la actual instancia en memoria
        /// </summary>
        /// <returns>una copia del objeto existente en memoria</returns>
        public CartolaDTO Clone()
        {	
	 	    CartolaDTO oDto = (CartolaDTO)this.MemberwiseClone();		
            oDto.CuentaCorriente = this.CuentaCorriente == null ? null: (CuentaCorrienteDTO)this.CuentaCorriente.Clone();
	 	    return oDto;
	    }
        #endregion Clone Method	
    }//End class CartolaDTO
}//End namespace
